'''
requests 包用来做接口测试。
1. 安装：pip install requests
2. 接口测试
    构造不同的参数，下发请求（requests.get/post），检查结果（assert）。
3. 发送get请求
   (1). 参数可以直接拼接到url的后面
   (2). 参数构造成字典，使用params传参。
'''

import requests

# 发一个请求
r = requests.get("http://www.baidu.com")
print(r.text)  # 打印响应的结果

# 注册接口，带参数，参数拼接到url的后面，多个参数用&连接
# 接口的测试脚本，构造了一组的数据
# 用例1：手机号码正确，密码小于6位，报错：密码长度必须为6~18
url = "http://192.168.150.33:8088/futureloan/mvc/api/member/register?mobilephone=18012345678&pwd=12345"
r = requests.get(url)
print(r.text)
assert "密码长度必须为6~18" in r.text  # 检查点，检查预期结果（接口文档）与实际结果是否一致。一致，则用例执行通过。
assert "20108" in r.text

# 用例2：手机号码正确，密码大于18位，报错：密码长度必须为6~18
url = "http://192.168.150.33:8088/futureloan/mvc/api/member/register?mobilephone=18012345678&pwd=1234567890123456789"
r = requests.get(url)
print(r.text)
assert "密码长度必须为6~18" in r.text  # 检查点，检查预期结果（接口文档）与实际结果是否一致。一致，则用例执行通过。
assert "20108" in r.text

# 用例3：手机号码正确，密码为空
url = "http://192.168.150.33:8088/futureloan/mvc/api/member/register"
cs = {"mobilephone": "18012345678", "pwd": ""}
r = requests.get(url, params=cs)
print(r.text)
assert "密码不能为空" in r.text
assert "20103" in r.text

# 缺陷：手机号正确，密码正确，注册名超过50个字符，报错服务器异常。
# 缺陷：密码包含空格，也能注册成功，预期应该提示错误信息。
# 缺陷：密码支持汉字等特殊符号，预期应该不支持。
# 缺陷：如果不输入注册名，默认是“小蜜蜂”，默认值不合理。
''' 缺陷：手机号正确，密码错误，提示密码不正确。
             手机号不正确，密码正确，提示手机号不正确
             手机号密码同时错误，提示密码不正确。应该优先提示手机号不正确的。
'''
# 缺陷：一些合法号码段的手机号（？），注册失败，提示手机号码格式不正确。
